<?php
	class database {
		private $dbms     = 'mysql';
		private $host     = 'localhost';
		private $database = 'nabu';
		private $user     = 'root';
		private $password = 'root';
		private $pdo;


		function __construct() {
			$dns     = $this -> dbms . ':host=' . $this -> host . ';dbname=' . $this -> database;
			$options = array(
				// Establece el manejo de errores de PDO por excepciones, utiliza el objeto 'PDOException'.
				PDO::ATTR_ERRMODE          => PDO::ERRMODE_EXCEPTION,
				// Deshabilita consultas preparadas de PDO y utiliza el sistema nativo del SGBD.
				PDO::ATTR_EMULATE_PREPARES => false	
			);

			try {
				// Realiza la conexión con la base de datos.
				$this -> pdo = new PDO($dns, $this -> user, $this -> password, $options);
			}
			catch (PDOException $e) {
				require_once 'libs/errors.php';

				errors('¡Lo sentimos mucho! &#x1F61E;, tenemos un problema de conexión con la base de datos');
			}
		}


		// Cierra la conexión con la base de datos.
		function __destruct() {
			$this -> pdo = null;
		}
	}